/*
* acooly.cn Inc.
* Copyright (c) 2017 All Rights Reserved.
* create by ouwen
* date:2017-09-27
*/
package com.yiji.fintech.musfinance.entity;


import com.yiji.fintech.musfinance.base.enums.*;
import lombok.Getter;
import lombok.Setter;

import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.Table;
import javax.validation.constraints.Size;
import java.util.Date;

/**
 * center_transaction_sign Entity
 *
 * @author ouwen
 * Date: 2017-09-27 15:30:48
 */
@Getter
@Setter
@Entity
@Table(name = "center_transaction_sign")
public class TransactionSign extends AbstractTransaction {

	/** 签约渠道 */
	@Size(max=32)
    private String gatewayChannelApi;

	/** 银行卡类型 */
	@Size(max=20)
	@Enumerated(EnumType.STRING)
    private CardTypeEnum cardType;

	/** 银行账号 */
	@Size(max=32)
    private String accountNo;

	/** 用户账户 */
	@Size(max=64)
    private String accountName;

	/** 账户类型 */
	@Size(max=255)
	@Enumerated(EnumType.STRING)
    private PersonalCorporateTypeEnum accountType;

	/** 证件类型 */
	@Size(max=20)
	@Enumerated(EnumType.STRING)
    private CertTypeEnum certType;

	/** 证件号 */
	@Size(max=32)
    private String certNo;

	/** 电话号码 */
	@Size(max=16)
    private String phoneNo;

	/** 银行简称 */
	@Size(max=32)
    private String bankId;

	/** 银行名称 */
	@Size(max=128)
    private String bankName;

	/** 合同号 */
	@Size(max=50)
    private String contractNo;

	/** 币种 */
	@Size(max=8)
	@Enumerated(EnumType.STRING)
    private CurrencyEnum currency;

	/** 验证要素类型 */
    @Enumerated(EnumType.STRING)
    private ElementTypeEnum elementType;

	/**省份 -对公必传*/
	private String province;

	/**城市 -对公必传*/
	private String city;

	/** 发送网关时间 */
    private Date gatewayTime;

	/** 交易时间 */
    private Date transTime;

	/** 清算时间 */
    private Date settleTime;

	/** 扩展字段 */
	@Size(max=500)
    private String extendFields;

}
